package com.atguigu.gulimall.gateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.reactive.config.CorsRegistry;
import org.springframework.web.reactive.config.UrlBasedViewResolverRegistration;


/**
 * 功能：跨域解决方式其中之一，网关中进行配置
 *
 * */
@Configuration
public class CorsConfig  {
	@Bean
	public CorsWebFilter corsWebFilter(){

		UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
		CorsConfiguration configuration = new CorsConfiguration();
		// 配置跨域
		// 1-允许什么样的请求方式
		configuration.addAllowedHeader("*");
		configuration.addAllowedMethod("*");
		configuration.addAllowedOrigin("*");
		configuration.setAllowCredentials(true);

		source.registerCorsConfiguration("/**",configuration);
		return new CorsWebFilter(source);

	}


}